#include #include #include #define RX_PIN D7 #define TX_PIN D6 uint8_t peerAddress[] = {0x58, 0xE6, 0xC5, 0x19, 0xAD, 0xC8}; HardwareSerial mp3Serial(1); JQ6500_Serial mp3(mp3Serial); int trigger; void OnDataRecv(const esp_now_recv_info_t *info, const uint8_t *incomingData, int len) { memcpy(&trigger, incomingData, sizeof(trigger)); Serial.println("Playing track 4"); mp3.playFileByIndexNumber(4); delay(3000); // adjust to track length // Send ACK back esp_now_send(peerAddress, (uint8_t *)&trigger, sizeof(trigger)); } void setup() { Serial.begin(115200); // MP3 INIT mp3Serial.begin(9600, SERIAL_8N1, RX_PIN, TX_PIN); delay(3000); mp3.reset(); delay(1000); mp3.setSource(MP3_SRC_BUILTIN); delay(500); mp3.setVolume(25); delay(500); WiFi.mode(WIFI_STA); esp_now_init(); esp_now_peer_info_t peerInfo = {}; memcpy(peerInfo.peer_addr, peerAddress, 6); esp_now_add_peer(&peerInfo); esp_now_register_recv_cb(OnDataRecv); Serial.println("Board 2 ready"); } void loop() {}